// fs模块是 是node.js 内置的模块 用来操作文件系统 主要用来 增 删 改 查
// 所有的文件操作都有两种方式 : 同步和异步

const fs = require('fs')

// 1. 增加文件  writeFile    writeFileSync
// writeFile   异步增加文件 
// 参数1 增加文件的路径  参数2 增加文件的内容  参数3 回调函数
// let str = '我是增加的文件' 
// fs.writeFile('./4.txt', str, err => {
//   if (err) {
//     return console.log(err);
//   }
//   console.log('增加文件成功');
// })

// writeFileSync  同步增加
// 和writeFile参数不同的地方是 没有回调函数 所以用try catch 捕捉成功和失败
// try {
//   fs.writeFileSync('./2.txt', '2')
//   console.log('写入成功');
// } catch (err) {
//   console.log(err);
// }

// 2.删除文件  unlink    unlinkSync
// unlink  异步删除
// fs.unlink("./1.txt", err => {
//   if (err) {
//     return console.log(err);
//   }
//   console.log("删除成功");
// })
// unlinkSync 异步删除
// try {
//   fs.unlinkSync('./2.txt')
// } catch (err) {
//   console.log(err);
// }

// 3. 修改文件
// fs.rename("./2.txt", "4.txt", err => {
//   if (err) {
//     return console.log(err)
//   }
//   console.log("修改成功");
// })

// 4. 读取文件
// 异步读取
// fs.readFile("./4.txt",(err,data)=>{
//     if(err){
//        return console.log(err);
//     }
//     // console.log(data);
//     console.log(data.toString());
// })

// 简写:
// let data =  fs.readFileSync("./4.txt","utf8");
// console.log(data);

// 先转换成json文件并增加
let obj = [{name:"张三",age:20},{name:"王五",age:22},{name:"李四",age:21}];
fs.writeFileSync("./data.json",JSON.stringify(obj));

let data =  fs.readFileSync("./data.json","utf8");
// console.log(typeof data);
let users = JSON.parse(data); // 转换成数组
console.log(users);